#region license
# This file is part of Grawlix.
# 
# Grawlix is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
# 
# Grawlix is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public
# License along with Grawlix.  If not, see
# <http://www.gnu.org/licenses/>.
#endregion

"""
Very generic world objects. Anything you collide
with or otherwise interact with is an entity.
"""

#TODO: Implement entities.

namespace Grawlix.Application
/*import Grawlix
import Grawlix.Interface.Rendering
import System


class Entity():
"""The base world object."""
	
	def constructor(position as Vector):
	"""
	Construct a new object.
	"""
		_pos = position
		_vel = Vector(0, 0)
	
	def Update(elapsed as double):
	"""
	Update the object.
	Param elapsed: Amount of time passed.
	"""
		_pos.X += elapsed * _vel.X
		_pos.Y += elapsed * _vel.Y
		if(_sprite != null and (_vel.X != 0 or _vel.Y != 0)):
			tempint = _sprite.GetStep()
			_sprite.SetStep(++tempint)
	
	def Render(device as RenderDevice):
	"""
	Draw this entity.
	Param device: The renderer to use to draw it.
	"""
		if(_sprite == null):
			device.DrawRectangle(Color.Blue,
		    	                 Rect(_pos.X - 25,
		        	                  _pos.Y - 25,
		            	              _pos.X + 25,
		                	          _pos.Y + 25))
		else:
			device.DrawTexture(_sprite.Texture,
							   _sprite.GetCurrentFrame(),
							   Color.Blue,
							   Rect(_pos.X - 25,
		        	                _pos.Y - 25,
		            	            _pos.X + 25,
		                	        _pos.Y + 25))
	
	def SetSprite(sprite as Sprite):
		_sprite = sprite
	
#	def SetFacing(facing as Facing):
#		if(_sprite != null):
#			_sprite.SetFacing(facing)
	
	Position:
	"""Access or change the position vector."""
		get:
			return _pos
		set:
			# will be more complicated later
			_pos = value
	
	_pos as Vector
	"""Internal position data."""
	
	[property(Velocity)]
	_vel as Vector
	"""Change of _pos with respect to time, in coords/sec."""
	
	_sprite = null as Sprite
*/	
	
	
	
